package cn.yhbk.web.modules.manager.Service;

import cn.yhbk.web.common.api.CommonPage;
import cn.yhbk.web.modules.manager.Pojo.DTO.Gpa.GpaDto;
import cn.yhbk.web.modules.manager.Pojo.DTO.Gpa.GpaPagResp;
import cn.yhbk.web.modules.manager.Pojo.Entity.TbGpaRecord;
import cn.yhbk.web.modules.manager.Pojo.VO.Apply.ApplyResp;
import cn.yhbk.web.modules.manager.Pojo.VO.GpaRecord.GpaRecordAdd;
import cn.yhbk.web.modules.manager.Pojo.VO.GpaRecord.GpaRecordGet;
import cn.yhbk.web.modules.manager.Pojo.VO.GpaRecord.GpaRecordResP;
import cn.yhbk.web.modules.manager.Pojo.VO.OrderResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 绩点记录表 服务类
 * </p>
 *
 * @author 有何不可
 * @since 2023-08-05
 */
public interface ITbGpaRecordService extends IService<TbGpaRecord> {

    boolean addRecord(GpaRecordAdd add);

    CommonPage<GpaRecordResP> getRecord(Long currentPage, Long pageSize, GpaRecordGet condition);

    TbGpaRecord getRecordByStudentId(Long studentId);

    boolean updateGpa(Long studentId, Double gpaSum, Double gpaQuality);

    List<GpaDto> getGpaRecordSort(Long stuId, Long scholarshipType);

    GpaPagResp getGpaSort(Long adminId, Long gradeId, Long majorId, Integer currPage, Integer pageSize, Integer year);

    List<OrderResponse> getRecordByStudentIds(List<Long> studentIds);
}
